package com.aos.erp.manager.service;

import com.aos.erp.common.bean.PageBean;
import com.aos.erp.manager.dto.NoticeDTO;
import com.aos.erp.manager.dto.NoticeDetailDTO;
import com.aos.erp.manager.model.notice.vo.NoticeConditionVo;
import com.aos.erp.manager.model.notice.vo.NoticeVo;
import com.aos.erp.manager.model.notice.NoticeInfo;

public interface NoticeService {

    /**
     * 保存通知公告
     * @param dataInfo
     * @throws Exception
     */
    void saveNotice(NoticeVo dataInfo) throws Exception;

    /**
     * 删除公告
     * @param dataId
     */
    void deleteNotice(String dataId) throws Exception;

    /**
     * 更新公告
     * @param dataInfo
     */
    void updateNotice(NoticeVo dataInfo) throws Exception;

    /**
     * 公告详情（查看、预览公告）
     * @param dataId
     */
    NoticeInfo getNoticeById(long dataId);

    /**
     * 公告详情（公告编辑）
     * @param dataId
     */
    NoticeDTO getNoticeDetail(long dataId);

    /**
     * 分页查询公告列表
     * @param conditionVo
     * @return
     */
    PageBean<NoticeDetailDTO> findByPage(NoticeConditionVo conditionVo);
}
